﻿using Snowflake.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
    //public class ExtendIdWork
    //{
    //    private ExtendIdWork() { }
    //    private static IdWorker _work;
    //    public static IdWorker GetIdWorker()
    //    {
    //        if (_work == null)
    //        {
    //            _work = new IdWorker(1, 1);
    //        }
    //        return _work;
    //    }
    //}
    public class AuditKey<T>
    {
        [Key]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的字段必须包含非 null 值。请考虑声明为可以为 null。
        public T Id { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的字段必须包含非 null 值。请考虑声明为可以为 null。
        //public AuditKey()
        //{

        //    var d = typeof(T);
        //    if (d == typeof(string))
        //    {
        //        var e = typeof(AuditKey<T>).GetProperty("Id");

        //        if (e != null)
        //        {
        //            string v = ExtendIdWork.GetIdWorker().NextId().ToString();
        //            e.SetValue(this, v);
        //        }

        //    }
        //}
    }
}
